Add error codes for file read/write/open failures #1061
Merged
+96
−55
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I wanted to raise something more specific than AWS_ERROR_SYS_CALL_FAILURE when an S3 operation failed due to an failed fwrite() to disk. Then it seemed weird to add a WRITE_FAILURE code, but no READ_FAILURE or OPEN_FAILURE codes.
Description of changes:
AWS_ERROR_FILE_(OPEN/READ/WRITE)_FAILURE
aws_translate_and_raise_io_error()
that lets you suggest a fallback error-code if no good match is foundDebatable Issues:
aws-c-io already has AWS_IO_STREAM_READ_FAILED. This makes it weird to add AWS_ERROR_FILE_READ_FAILURE to aws-c-common. In a perfect world, we'd move the error from aws-c-io to aws-c-common and possibly rename it, but either of those actions would be a breaking change.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.